๐Ÿ”ฅFinal Project Day 3 - Grid Template ๋ฅผ ๋” ์‰ฝ๊ฒŒ

๐Ÿ’๐Ÿปโ€โ™‚๏ธgrid-template-area ์•ˆ ์“ฐ๊ณ  ๋” ์‰ฝ๊ฒŒ ๋งŒ๋“ค๊ธฐ

grid-template-areas:
  'header header header header'
  'content content content nav'
  'content content content nav'
  'footer footer footer footer';

์ด๋ ‡๊ฒŒ grid-template ์„ ์ž‘์„ฑํ•˜๊ณ  ํ•ด๋‹น ์ด๋ฆ„๋งˆ๋‹ค ํด๋ž˜์Šค์— ๊ฐ€์„œ grid-area ์ด๋ฆ„์„ ๋™๊ธฐํ™” ์‹œ์ผœ์ค˜์•ผ ๋˜๋Š”๊ฒŒ ์—ฌ๊ฐ„ ๋ถˆํŽธํ•˜๋‹ค.

template area2

์œ„์™€ ๊ฐ™์€ ๋ชจ์Šต์„ ๋งŒ๋“ค ๊ฒƒ์ด์ง€๋งŒ, ํ˜„์žฌ ์ดˆ๊ธฐ ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

.grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, 100px);
  grid-template-rows: repeat(4, 100px);
}

.header {
  background: #2ecc71;
}
.content {
  background: #3498db;
}
.nav {
  background: #8e44ad;
}
.footer {
  background: #f39c12;
}

mini grid

ํ˜„์žฌ ๋ธŒ๋ผ์šฐ์ €์— ๋น„์น˜๋Š” ๋ชจ์Šต์ด๋‹ค.

์ด์ œ ์—ฌ๊ธฐ์„œ header ์˜ ์‹œ์ž‘๊ณผ ๋์„ ๋” ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด ๋ณด์ž,

column ๊ทธ๋ฆฌ๊ณ  row ๊ฐ€ ์–ด๋””์—์„œ ์‹œ์ž‘ํ•˜๊ณ  ๋๋‚˜๋Š”์ง€๋ฅผ ์ •ํ•ด์ฃผ๋ฉด ์•„๊นŒ๋ณด๋‹ค ๋” ์‰ฝ๊ฒŒ ๋ ˆ์ด์•„์›ƒ์„ ์งค ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

๐Ÿ’๐Ÿปโ€โ™‚๏ธgrid-column(row)-start, grid-column(row)-end ์˜ ์‚ฌ์šฉ!

1. header ๋ถ€๋ถ„ ์กฐ์ ˆํ•˜๊ธฐ

header ๋ถ€๋ถ„ (ํด๋ž˜์Šค๋ช… header, ์ปฌ๋Ÿฌ ์ดˆ๋ก์ƒ‰) ์„ column ๋ฐฉํ–ฅ์œผ๋กœ ํ…œํ”Œ๋ฆฟ ์ตœ๋Œ€ํ•œ๋„๋กœ (4) ๋Š˜๋ฆฌ๋ ค ํ•œ๋‹ค.

๊ทธ๋Ÿฌ๋ ค๋ฉด grid-column-start ์™€ grid-column-end ๋ฅผ ์ ์šฉํ•ด์•ผ ํ•œ๋‹ค.

.header {
  background: #2ecc71;

  grid-column-start: 1;
  grid-column-end: 5;
}

gap ์†์„ฑ์œผ๋กœ ๊ฐ ๋ฐ•์Šค๋ฅผ ๋ณด๊ธฐ ์‰ฝ๊ฒŒ ๋–จ์–ดํŠธ๋ ค ๋†“์•˜๋Š”๋ฐ,

์†์„ฑ์˜ ์ˆซ์ž๋Š” column ์˜ line ์„ ์˜๋ฏธํ•œ๋‹ค. ์™ผ์ชฝ๋ถ€ํ„ฐ 1๋ฒˆ๋ผ์ธ 2๋ฒˆ๋ผ์ธ ์ด๋Ÿฌํ•œ ์‹์ด๋‹ค.

end ๋ฅผ ๋Š˜๋ฆผ์— ๋”ฐ๋ผ ๋‚˜๋จธ์ง€๋Š” ๋ฐ‘์œผ๋กœ ์ž์—ฐ์Šค๋ ˆ ๋‚ด๋ ค๊ฐ„๋‹ค.

end ๊ฐ€ 5 ์ด๋ฉด ํ˜„์žฌ ํ…œํ”Œ๋ฆฟ ์ƒ์—์„œ๋Š” ์ปฌ๋Ÿผ ๋งจ ๋ ๋ถ€๋ถ„์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค.

1

์˜คํ˜ธ๋ผ header ๋ถ€๋ถ„์ด column ๋ฐฉํ–ฅ์œผ๋กœ ์ซ™! ์ŠคํŠธ๋ ˆ์น˜ ๋˜์—ˆ๋‹ค.

2. content ๋ถ€๋ถ„ ์กฐ์ ˆํ•˜๊ธฐ

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ grid-column-start ์™€ grid-column-end ๋ฅผ ์ ์šฉ ํ–ˆ๋‹ค.

๊ทธ๋Ÿฌ๊ณ  ๋ณด๋‹ˆ content ๋ถ€๋ถ„์ด row ๋ฐฉํ–ฅ์œผ๋กœ๋„ ๋ชธ์ง‘์„ ์ฐจ์ง€ ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ซ๊ณ ,

grid-row-start ์™€ grid-row-end ๋ฅผ ์ ์šฉํ–ˆ๋‹ค.

.content {
  background: #3498db;
  grid-column-start: 1;
  grid-column-end: 4;

  grid-row-start: 2;
  grid-row-end: 4;
}

2

3. nav ๋ถ€๋ถ„ ์กฐ์ ˆํ•˜๊ธฐ

.nav {
  background: #8e44ad;
  grid-row-start: 2;
  grid-row-end: 4;
}

3

๋งจ ์•„๋ž˜ footer ๋ถ€๋ถ„์€ ์ปฌ๋Ÿผ ๋ฐฉํ–ฅ์œผ๋กœ ๋๊นŒ์ง€ ์ฐจ์ง€ ํ•˜๋„๋ก ๋งŒ๋“ค๋ฉด ๋œ๋‹ค.

.footer {
  background: #f39c12;
  grid-column-start: 1;
  grid-column-end: 5;
}

4

๋‹ค์Œ ๋ฒˆ์—๋Š” ๋งค๋ฒˆ grid-column-start ์™€ grid-column-end ๋ฅผ ์“ฐ์ง€ ์•Š๊ณ  ํ•œ ์ค„๋กœ ์ค„์ด๋Š” ๋“ฑ์˜

์ง€๋ฆ„๊ธธ ๋ฐฉ์‹์„ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.


Written by@[DotoriMook]
ํ”„๋ก ํŠธ์—”๋“œ ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž ๋„ํ† ๋ฆฌ๋ฌต์˜ ๊ธฐ์ˆ ๊ฐœ๋ฐœ ๋ธ”๋กœ๊ทธ ์ž…๋‹ˆ๋‹ค.

GitHubMediumTwitterFacebook